const obj = {
  a: 3,
  b: 4,
  c: [1, 2],
};

const observer = (obj, key, value) => {
  Object.defineProperty(obj, key, {
    get() {
      console.log(key + "的值被获取了");
      return value;
    },
    set(val) {
      console.log(key + "的值从" + value + "变成了" + val);
      value = val;
      // 重新渲染页面
    },
  });
};

Object.keys(obj).forEach((item) => {
  observer(obj, item, obj[item]);
});

// console.log(obj.a);
// console.log(obj.b);
// obj.a = 10;
// console.log(obj.a);
// console.log(obj.b);

obj.c.push(3);
